#pragma once

#include "runtime/core/math/moyu_math.h"

#include <memory>

namespace MoYu2
{
    class EditorUI;
    class MoYu2Engine;

    class MoYu2Editor 
    {
        friend class EditorUI;

    public:
        MoYu2Editor();
        virtual ~MoYu2Editor();

        void initialize(MoYu2Engine* engine_runtime);
        void clear();

        void run();

    protected:
        std::shared_ptr<EditorUI> m_editor_ui;
        MoYu2Engine* m_engine_runtime{ nullptr };
    };
} // namespace MoYu2
